import state from "./state";
import {encrypt, decrypt} from '@/common/js/des.js'
/**
 * 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的
 * mutation 非常类似于事件：每个 mutation 都有一个字符串的 事件类型 (type) 
 * 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方，
 * 并且它会接受 state 作为第一个参数：
 */
export default {
	// 保存用户信息
	//todo 微信 支付包 的处理方式不一样 需要后期优化处理
	saveLocation(state, res) {
		state.location.latitude = res.latitude;
		state.location.longitude = res.longitude;
	},
	saveUserInfo(state, v) {
		state.userInfo = v
	},

	setAlipayUserInfo(state, userInfo) {
		var sex = userInfo.gender;
		if (sex == "m") {
			sex = 0;
		} else if (sex == "f") {
			sex = 1;
		}
		if (userInfo.nickName) {
			state.userInfo.userName = userInfo.nickName;
		} else {
			state.userInfo.userName = "匿名用户"
		}

		state.userInfo.sex = sex;
		state.userInfo.languageType = userInfo.countryCode;
		state.userInfo.photoUrl = userInfo.avatar;
	},

	login(state, v) {
		state.isLogin = v;
	},
	setWXUserInfo(state, userInfo) {
		var sex = userInfo.gender;
		if (sex == 2) {
			sex = 1;
		} else if (sex == 1) {
			sex = 0;
		}
		state.userInfo.userName = userInfo.nickName;
		state.userInfo.sex = sex;
		state.userInfo.languageType = userInfo.language;
		state.userInfo.photoUrl = userInfo.avatarUrl;
		// console.log("vuex setWXUserInfo",JSON.stringify(state.userInfo));
	},
	//启动完成
	requestLoginComplete(state) {
		state.requestLogin = true;
	},
	// 保存用户积分信息
	saveUserScore(state, v) {
		state.myUserScore = v
	},
	
	//保存token信息
	saveToken(state,v){
		state.token =v
		// uni.setStorageSync("token", encrypt(result.data.token,3));
	},
	savePermission(state,v){
		state.permission =v
	},
}
